#ifndef	LED_BREATH_H
#define	LED_BREATH_H
#include "stdint.h"
#include "gkt_timer.h"

enum{
	GKT_LIGHTING_ID_FPS = 0,
	GKT_LIGHTING_ID_MAX
};

enum{
	GKT_LIGHTING_COLOR_WHITE = 0,
	GKT_LIGHTING_COLOR_RED,
	GKT_LIGHTING_COLOR_GREEN,
	GKT_LIGHTING_COLOR_BLUE,
	GKT_LIGHTING_COLOR_YELLOW,
	GKT_LIGHTING_COLOR_PURPLE,
	GKT_LIGHTING_COLOR_CYAN,
	GKT_LIGHTING_COLOR_COLORFUL,
	GKT_LIGHTING_COLOR_MAX
};

enum{
	GKT_LIGHTING_EFFECT_OFF = 0,
	GKT_LIGHTING_EFFECT_ON,
	GKT_LIGHTING_EFFECT_BREATH,
	GKT_LIGHTING_EFFECT_SHINING,
	GKT_LIGHTING_EFFECT_MAX
};

typedef enum {
	GKT_PWM_LEVEL_MODE_LOW = 0,
	GKT_PWM_LEVEL_MODE_HIGH,
	GKT_PWM_LEVEL_MODE_BOTH,
	GKT_PWM_LEVEL_MODE_MAX,
}gkt_pwm_level_mode_e;

enum{
	GKT_PWM_DIR_INCREASE = 0,
	GKT_PWM_DIR_DECREASE,
	GKT_PWM_DIR_MAX
};

enum{
	GKT_PWM_SPEED_SLOW = 0,
	GKT_PWM_SPEED_NORMAL,
	GKT_PWM_SPEED_FAST,
	GKT_PWM_SPEED_MAX
};

typedef struct _lighting_effect_s{
	uint32_t ids;
	uint32_t color;
	uint32_t lighting_effect;
	uint32_t speed;
}gkt_lighting_effect_s;

int gkt_lighting_effect_init(void);
void gkt_lighting_effect_display(gkt_lighting_effect_s lighting_effect);
void gkt_lighting_effect_display_simple(uint32_t lighting_effect);

#endif
int gkt_lighting_effect_standby(void);

